źródło
wizualizacji źródłowej
Co wymaga poprawy
Poprawiony wykres:
# Tworzę ramkę danych w oparciu o dane z wykresu. Pochodzą one z Miniesterstwa Finansów. Nie zdołałem znaleźć ramki danych, w związku z czym dane zostaly przepisane ręcznie. Również nie zdołałem znaleźć dokładnych danych dla 2008, więc skorzystałem z wykresu. Dane do mojej ramki danych wziąłem z: https://demagog.org.pl/wypowiedzi/jak-wygladaly-wplywy-z-podatku-vat-w-ostatnich-latach/
vat <- c(102000000000, 99454721000, 107879702000, 120831920000, 120000697000, 113411541000, 124262243000, 123120798000, 126584120000, 156801210000, 174947071000)
lata <- seq(from = 2008, to = 2018)
partia <- factor(rep(c("PO", "PiS"), c(8, 3)))
df <- data.frame(Lata = lata, VAT = vat, Partia = partia)
library(plotly)
## Warning: pakiet 'plotly' został zbudowany w wersji R 4.2.3
## Ładowanie wymaganego pakietu: ggplot2
##
## Dołączanie pakietu: 'plotly'
## Następujący obiekt został zakryty z 'package:ggplot2':
##
## last_plot
## Następujący obiekt został zakryty z 'package:stats':
##
## filter
## Następujący obiekt został zakryty z 'package:graphics':
##
## layout
library(dplyr)
##
## Dołączanie pakietu: 'dplyr'
## Następujące obiekty zostały zakryte z 'package:stats':
##
## filter, lag
## Następujące obiekty zostały zakryte z 'package:base':
##
## intersect, setdiff, setequal, union
fig <- plot_ly(
data = df,
x = ~Lata,
y = ~VAT,
color = ~Partia,
colors = c("blue", "orange"),
type = "bar"
) %>%
layout(
title = "Wpływy z podatku VAT do budżetu państwa w latach 2008-2018",
yaxis = list(title = "Wartość w PLN", range = c(0, 170000000000)),
width = 1000,
xaxis = list(
title = "Rok",
range = lata,
tickmode = "linear",
tickvals = lata,
ticktext = lata
),
updatemenus = list(
list(
buttons = list(
list(method = "restyle",
args = list("visible", c(TRUE, TRUE)),
label = "Pokaż wszystko"),
list(method = "restyle",
args = list("visible", c(TRUE, FALSE)),
label = "Rządy PiS"),
list(method = "restyle",
args = list("visible", c(FALSE, TRUE)),
label = "Rządy PO")
),
direction = "down",
showactive = TRUE,
x = 1,
xanchor = "left",
y = 0.3,
yanchor = "top"
)
)
)
## Warning: Specifying width/height in layout() is now deprecated.
## Please specify in ggplotly() or plot_ly()
fig
Dlaczego ten wykres jest lepszy